#!/usr/bin/env node
// NODE CLI 应用入口必须有一个这样的文件头
// Linux和MacOS下必须将这个文件设置读写权限755: chmod 755 cli.js

// step1.提问交互收集信息
// step2.根据回答利用模板生成文件

const inquirer = require('inquirer')
const path = require('path')
const fs = require('fs')
const ejs = require('ejs')

inquirer.prompt([
    {
        type: 'input',
        name: 'name',
        message: 'Project name ?'
    }
]).then(data => {
    // console.log(data)
    
    // 模板目录
    const tmplPath = path.join(__dirname, 'templates')
    // 目标目录
    const destPath = process.cwd()

    // fs读取模板文件全部转换到目标文件
    fs.readdir(tmplPath, (err, files) => {
        if (err) throw err
        files.forEach(file => {
            // 通过模板引擎去渲染这个文件
            ejs.renderFile(path.join(tmplPath, file), data, (err, result) => {
                if (err) throw err
                // console.log(result)
                fs.writeFileSync(path.join(destPath, file), result)
            })
        })
    })
})